{
  lib,
  stdenv,
  fetchFromGitHub,
  autoconf,
  automake,
  libtool,
  pkg-config,
  glib,
  libxml2,
  libxslt,
  getopt,
  libiconv,
  gettext,
  nix,
  disnix,
}:

stdenv.mkDerivation {
  version = "0-unstable-2020-11-02";
  pname = "dydisnix";

  src = fetchFromGitHub {
    owner = "svanderburg";
    repo = "dydisnix";
    rev = "12ca1516bc1e5d161ac68f5d8252a0a2f353c8cf";
    sha256 = "00f341274hwwil8mlgcgq331vfca9sscvpdbgkxsjvbhcqd8qa52";
  };

  nativeBuildInputs = [
    pkg-config
    autoconf
    automake
    libtool
  ];
  buildInputs = [
    glib
    libxml2
    libxslt
    getopt
    nix
    disnix
    libiconv
    gettext
  ];

  preConfigure = ''
    ./bootstrap
  '';

  meta = {
    description = "Toolset enabling self-adaptive redeployment on top of Disnix";
    longDescription = ''
      Dynamic Disnix is a (very experimental!) prototype extension framework for Disnix supporting dynamic (re)deployment of service-oriented systems.
    '';
    license = lib.licenses.lgpl21Plus;
    maintainers = [ lib.maintainers.tomberek ];
    platforms = lib.platforms.unix;
  };
}
